Multivariate Time Series হল এমন একটি টাইম সিরিজ ডেটা যেখানে একাধিক পরিবর্তনশীল বা বৈশিষ্ট্য (variables) সময়ের সাথে একসাথে পরিবর্তিত হয়। অর্থাৎ, এটি একাধিক টাইম সিরিজ ডেটাকে একত্রিত করে বিশ্লেষণ করে। যখন আপনি একাধিক ভেরিয়েবল বা ফিচার বিশ্লেষণ করতে চান, যা একে অপরের সাথে সম্পর্কিত বা পরস্পরকে প্রভাবিত করে, তখন Multivariate Time Series Modeling ব্যবহৃত হয়।
একটি Multivariate Time Series মডেল হল সেই মডেল যা একাধিক টাইম সিরিজ ডেটার মধ্যে আন্তঃসম্পর্ক (interdependence) বিশ্লেষণ করে ভবিষ্যৎ পূর্বাভাস করতে সহায়ক হয়।
Multivariate Time Series Modeling ব্যবহৃত হয় বিভিন্ন ক্ষেত্রে যেখানে একাধিক ভেরিয়েবল সময়ের সাথে পরিবর্তিত হয় এবং তারা একে অপরকে প্রভাবিত করে। কিছু উদাহরণ হলো:
বর্ণনা: VAR Model একটি জনপ্রিয় Multivariate Time Series মডেল যা একাধিক টাইম সিরিজের মধ্যে আন্তঃসম্পর্ক বিশ্লেষণ করে। এটি প্রতিটি ভেরিয়েবলের জন্য একাধিক ল্যাগ (previous values) ব্যবহার করে ভবিষ্যতের মানের পূর্বাভাস তৈরি করে। VAR মডেলটি লিনিয়ার সম্পর্ক মডেল করার জন্য উপযুক্ত।
ফর্মুলা:
Yt=c+ϕ1Yt−1+ϕ2Yt−2+⋯+ϕpYt−p+ϵt
এখানে:
উদাহরণ: ধরা যাক, এক দেশের মুদ্রাস্ফীতি (inflation) এবং বেকারত্বের হার (unemployment rate) এর সম্পর্ক বিশ্লেষণ করতে চাইলে, আপনি VAR মডেল ব্যবহার করতে পারেন।
বর্ণনা: যখন দুটি বা দুটি অধিক টাইম সিরিজ কোয়েন্টি গ্র্যাঞ্জন (cointegrated) থাকে, তখন VECM মডেলটি ব্যবহার করা হয়। কোয়েন্টি গ্র্যাঞ্জন হল একটি ধারণা যেখানে একাধিক টাইম সিরিজ দীর্ঘমেয়াদী সম্পর্ক রাখে, যদিও তারা স্বতন্ত্রভাবে অস্থির হতে পারে।
VECM মডেলটি VAR Model এর উপর ভিত্তি করে এবং এটি স্টেশন্যারিটি বা ডিফারেন্সিংয়ের প্রয়োজনীয়তা নির্ধারণ করে।
উদাহরণ: ধরা যাক, আপনি জিডিপি এবং মুদ্রাস্ফীতি এর মধ্যে দীর্ঘমেয়াদী সম্পর্ক দেখতে চান, যেখানে তারা একে অপরকে প্রভাবিত করে। VECM এই সম্পর্ককে বুঝতে সহায়ক হবে।
বর্ণনা: GARCH Model স্টক মার্কেট বা ফিনান্সিয়াল ডেটা বিশ্লেষণের জন্য জনপ্রিয়। এটি মূলত ভেরিয়েবলের ভোলাটিলিটি (volatility) এবং তার পরিবর্তনশীলতার উপর ভিত্তি করে মডেল তৈরি করে। Multivariate GARCH একাধিক ভেরিয়েবলের ভোলাটিলিটি সম্পর্ক বিশ্লেষণ করতে ব্যবহৃত হয়।
ফর্মুলা:
yt=μ+ϵt
এখানে ϵt হল র্যান্ডম ত্রুটি যা সাধারণত GARCH মডেল দ্বারা পরিমাপ করা হয়।
উদাহরণ: এই মডেলটি ব্যবহৃত হতে পারে যখন আপনি স্টক মার্কেটের পরিবর্তনশীলতা এবং তারের প্রতি প্রতিফলন (return) বিশ্লেষণ করতে চান।
বর্ণনা: DFM মডেলটি একাধিক টাইম সিরিজের মধ্যে লুকানো বা "ফ্যাক্টর" গুলি চিহ্নিত করতে ব্যবহৃত হয়, যা অনেকগুলো ভেরিয়েবলকে একত্রিত করে। এটি বিভিন্ন ভেরিয়েবলগুলির মধ্যে সম্পর্ক এবং তাদের গতিশীল পরিবর্তন শিখতে সাহায্য করে।
উদাহরণ: একটি দেশের বিভিন্ন অর্থনৈতিক সূচক (GDP, inflation, unemployment rate) এর মধ্যে সম্পর্ক বিশ্লেষণ করতে DFM ব্যবহার করা যেতে পারে, যেখানে বিভিন্ন ফ্যাক্টর বা প্যারামিটার একে অপরকে প্রভাবিত করে।
Multivariate Time Series Modeling একাধিক টাইম সিরিজের মধ্যে সম্পর্ক এবং তাদের পারস্পরিক প্রভাব বিশ্লেষণ করতে ব্যবহৃত হয়। এটি ব্যবসা, অর্থনীতি, ফিনান্স, বিজ্ঞান ইত্যাদি ক্ষেত্রের জন্য গুরুত্বপূর্ণ। VAR, VECM, Multivariate GARCH, এবং Dynamic Factor Models হল জনপ্রিয় মডেল যা একাধিক ভেরিয়েবল বা টাইম সিরিজের পারস্পরিক সম্পর্ক বিশ্লেষণ করতে ব্যবহৃত হয়।
মাল্টিভ্যারিয়েট টাইম সিরিজ (Multivariate Time Series) হল এমন একটি টাইম সিরিজ ডেটা, যেখানে একাধিক পরিবর্তনশীল (variables) বা বৈশিষ্ট্য (features) একসাথে সময়ের সাথে পরিবর্তিত হয়। সাধারণভাবে, টাইম সিরিজ ডেটাতে শুধুমাত্র একটি পরিবর্তনশীল পরিমাপ করা হয় (যেমন, একক শেয়ারের মূল্য বা তাপমাত্রা), কিন্তু মাল্টিভ্যারিয়েট টাইম সিরিজে একাধিক পরিবর্তনশীল একযোগে পর্যবেক্ষণ করা হয় এবং এগুলির মধ্যে সম্পর্ক বিশ্লেষণ করা হয়।
মাল্টিভ্যারিয়েট টাইম সিরিজের মূল উদ্দেশ্য হল একাধিক টাইম সিরিজের মধ্যে সম্পর্ক চিহ্নিত করা এবং একে অপরকে প্রভাবিত করার প্যাটার্নগুলি বোঝা।
মাল্টিভ্যারিয়েট টাইম সিরিজ বিশ্লেষণের জন্য কিছু জনপ্রিয় পদ্ধতি এবং মডেল রয়েছে:
মাল্টিভ্যারিয়েট টাইম সিরিজ হল এমন একটি টাইম সিরিজ ডেটা যেখানে একাধিক পরিবর্তনশীল সময়ের সাথে পরিবর্তিত হয় এবং এগুলির মধ্যে সম্পর্ক বিশ্লেষণ করা হয়। এটি আর্থিক, সামাজিক, পরিবেশগত বা স্বাস্থ্যসেবা ক্ষেত্রে ব্যাপকভাবে ব্যবহৃত হয়। মাল্টিভ্যারিয়েট টাইম সিরিজ বিশ্লেষণ করার জন্য কিছু শক্তিশালী মডেল যেমন VAR, Cointegration, এবং MARMA ব্যবহৃত হয়।
Vector Autoregression (VAR) মডেলটি একটি বহুমাত্রিক টাইম সিরিজ মডেল, যা একাধিক টাইম সিরিজের মধ্যে সম্পর্ক বিশ্লেষণ করতে ব্যবহৃত হয়। এটি বিভিন্ন টাইম সিরিজের পূর্ববর্তী মানগুলির উপর ভিত্তি করে তাদের ভবিষ্যতের মান অনুমান করতে সহায়ক। VAR মডেলটি মূলত অটো-রিগ্রেসিভ মডেল (AR) এর একটি সম্প্রসারিত সংস্করণ, যেখানে একাধিক সিরিজের উপর অটো-রিগ্রেসিভ সম্পর্ক গড়ে তোলা হয়।
VAR মডেলটি একটি শক্তিশালী উপকরণ যখন আমাদের একাধিক টাইম সিরিজের মধ্যে পারস্পরিক সম্পর্ক (interaction) বিশ্লেষণ করতে হয়। এটি বিভিন্ন অর্থনৈতিক সূচক, ব্যবসায়িক ডেটা বা ফিনান্সিয়াল টাইম সিরিজের জন্য ব্যবহৃত হয়।
VAR মডেলটি একাধিক টাইম সিরিজের জন্য পারস্পরিক অটো-রিগ্রেসিভ সম্পর্কের মাধ্যমে ভবিষ্যত মান পূর্বাভাস তৈরি করে। এখানে Yt একটি ভেক্টর যা বিভিন্ন টাইম সিরিজের মান ধারণ করে, এবং এটি পূর্ববর্তী সময়ের মানের উপর ভিত্তি করে ভবিষ্যতের মানের পূর্বাভাস দেয়।
VAR মডেলের সাধারণ ফর্ম:
Yt=c+A1Yt−1+A2Yt−2+⋯+ApYt−p+ϵt
এখানে:
ধরা যাক, আপনি দুটি টাইম সিরিজ Yt এবং Xt বিশ্লেষণ করতে চান, যেমন একটি দেশের মুদ্রাস্ফীতি (inflation) এবং সুদের হার (interest rate)। VAR মডেলটি এই দুইটি সিরিজের সম্পর্ক বিশ্লেষণ করবে, যা আমাদের ভবিষ্যতের মান পূর্বাভাস করতে সহায়ক হবে। মডেলটি এমনভাবে কাজ করবে:
Yt=c+A1Yt−1+A2Xt−1+ϵt Xt=c+B1Yt−1+B2Xt−1+ϵt
এখানে Yt এবং Xt এর মধ্যে পারস্পরিক সম্পর্ক বিশ্লেষণ করা হয় এবং মডেলটি পূর্ববর্তী সময়ের মানের উপর ভিত্তি করে ভবিষ্যতের মান পূর্বাভাস করে।
Vector Autoregression (VAR) মডেলটি বহুমাত্রিক টাইম সিরিজ বিশ্লেষণের জন্য ব্যবহৃত একটি শক্তিশালী টুল। এটি একাধিক টাইম সিরিজের মধ্যে সম্পর্ক বিশ্লেষণ করে এবং পূর্ববর্তী মানের ওপর ভিত্তি করে ভবিষ্যতের মান পূর্বাভাস তৈরি করতে সাহায্য করে। VAR মডেলটি বহুমাত্রিক ডেটা বিশ্লেষণ করতে সক্ষম হলেও, এটি কিছু সীমাবদ্ধতা যেমন বড় ডেটা সেট এবং স্টেশনারিটি সম্পর্কিত সমস্যার সম্মুখীন হতে পারে।
VARMA মডেল (Vector Autoregressive Moving Average Model) হল একাধিক টাইম সিরিজ ডেটার জন্য একটি স্ট্যাটিস্টিক্যাল মডেল যা autoregressive (AR) এবং moving average (MA) উপাদানগুলো সমন্বিত করে। VARMA মডেলটি বহু পরিবর্তনশীল টাইম সিরিজ বিশ্লেষণ করতে ব্যবহৃত হয় এবং এই মডেলটি একাধিক সম্পর্কিত সিরিজের মধ্যে সহযোগিতা এবং পারস্পরিক সম্পর্ক বিশ্লেষণ করার জন্য উপযুক্ত।
VARMA মডেলটি দুইটি মৌলিক অংশের সংমিশ্রণ:
VARMA মডেলটি একাধিক টাইম সিরিজের পারস্পরিক সম্পর্কের জন্য উপযুক্ত, যেখানে একাধিক পরিবর্তনশীলের গতিশীলতা এবং তাদের মধ্যে সম্পর্ক থাকে।
VARMA মডেলটি সাধারণত নিচের ফর্মে লেখা হয়:
Yt=c+p∑i=1ΦiYt−i+q∑j=1Θjϵt−j+ϵt
এখানে:
VARMA মডেল ব্যবহারের পূর্বে টাইম সিরিজ ডেটাকে কিছু প্রিপ্রসেসিং প্রক্রিয়া অনুসরণ করতে হবে:
ধরা যাক, দুটি সম্পর্কিত টাইম সিরিজের ডেটা আছে, এবং আপনি তাদের মধ্যে সম্পর্ক এবং পূর্বাভাস তৈরির জন্য VARMA মডেল প্রয়োগ করতে চান।
import numpy as np
import pandas as pd
from statsmodels.tsa.api import VAR
# Sample data: two related time series
data = {'Series1': np.random.randn(100), 'Series2': np.random.randn(100)}
df = pd.DataFrame(data)
# Fit VAR model
model = VAR(df)
model_fitted = model.fit(5) # Fit the model with lag 5
# Forecasting
forecast = model_fitted.forecast(df.values[-5:], steps=5)
print(forecast)
এখানে:
VAR
মডেলটি ব্যবহার করে দুইটি সম্পর্কিত টাইম সিরিজের উপর কাজ করা হয়েছে।VARMA মডেল হল একাধিক সম্পর্কিত টাইম সিরিজের জন্য একটি শক্তিশালী টুল, যা AutoRegressive (AR) এবং Moving Average (MA) অংশের সংমিশ্রণ দিয়ে কাজ করে। এটি পারস্পরিক সম্পর্ক বিশ্লেষণ এবং ভবিষ্যতের পূর্বাভাস তৈরি করতে ব্যবহৃত হয়। VARMA মডেলটি স্টেশনারি ডেটা এবং সঠিক ল্যাগ নির্ধারণের জন্য গুরুত্বপূর্ণ এবং এটি বড় পরিমাণের ডেটা বিশ্লেষণের জন্য উপযুক্ত।
Multivariate Time Series হল এমন টাইম সিরিজ ডেটা যেখানে একাধিক পরিবর্তনশীল (variables) একযোগে সময়ের সাথে পরিবর্তিত হয়। একাধিক ভেরিয়েবলের মধ্যে সম্পর্ক বিশ্লেষণ এবং ভবিষ্যতের পূর্বাভাস তৈরির জন্য ফিচার ইঞ্জিনিয়ারিং একটি অত্যন্ত গুরুত্বপূর্ণ পদক্ষেপ। ফিচার ইঞ্জিনিয়ারিংয়ের মাধ্যমে নতুন বৈশিষ্ট্য তৈরি করা হয় যা মডেলের পারফরম্যান্স উন্নত করতে সহায়ক।
Multivariate টাইম সিরিজ ডেটার জন্য ফিচার ইঞ্জিনিয়ারিংয়ের কয়েকটি গুরুত্বপূর্ণ পদ্ধতি নিচে আলোচনা করা হলো:
বর্ণনা: ল্যাগ ফিচারগুলি পূর্ববর্তী সময়ের মানের উপর ভিত্তি করে নতুন বৈশিষ্ট্য তৈরি করতে ব্যবহৃত হয়। এতে বর্তমান সময়ের জন্য পূর্ববর্তী সময়ের ডেটা পয়েন্ট ব্যবহার করা হয়, যা ভবিষ্যতের পূর্বাভাসে সহায়ক হতে পারে।
পদ্ধতি:
উদাহরণ: ধরা যাক, আপনি একটি বিক্রয় (Sales) এবং মার্কেটিং খরচ (Marketing Cost) এর উপর ভিত্তি করে পূর্বাভাস তৈরি করতে চান। আপনাকে বিক্রয় এবং মার্কেটিং খরচের ল্যাগ ফিচার তৈরি করতে হবে, যেমন:
কোড উদাহরণ (Python):
import pandas as pd
# Sample data
data = pd.DataFrame({'Sales': [100, 120, 130, 110, 140],
'Marketing': [20, 30, 40, 35, 50]})
# Create lag features for 'Sales' and 'Marketing'
data['Sales_lag1'] = data['Sales'].shift(1)
data['Sales_lag2'] = data['Sales'].shift(2)
data['Marketing_lag1'] = data['Marketing'].shift(1)
print(data)
বর্ণনা: রোলিং ফিচারগুলি একটি নির্দিষ্ট উইন্ডোতে গড় (mean), গড় বিচ্যুতি (standard deviation), ম্যাক্সিমাম (maximum), মিনিমাম (minimum) ইত্যাদি পরিমাপ করতে ব্যবহৃত হয়। এটি সময়ের সাথে পরিবর্তিত ডেটার জন্য ট্রেন্ড বা সিজনালিটি বিশ্লেষণ করতে সহায়ক হতে পারে।
পদ্ধতি:
উদাহরণ: ধরা যাক, আপনি ৭ দিনের গড় বিক্রয় হিসাব করতে চান, যা ভবিষ্যতের বিক্রয় পূর্বাভাসে সহায়ক হবে।
কোড উদাহরণ (Python):
data['Sales_rolling_mean'] = data['Sales'].rolling(window=3).mean()
data['Marketing_rolling_std'] = data['Marketing'].rolling(window=3).std()
print(data)
বর্ণনা: টাইম সিরিজ ডেটাতে সময়ের উপর ভিত্তি করে বিভিন্ন বৈশিষ্ট্য তৈরি করা যায়। উদাহরণস্বরূপ, দিনের সময় (Day of Week), মাস, ঋতু, বছরের সময় ইত্যাদি সময়ের নির্দিষ্ট বৈশিষ্ট্যগুলির সাহায্যে মডেলিং করা যেতে পারে।
পদ্ধতি:
উদাহরণ:
কোড উদাহরণ (Python):
# Creating time-based features from a Date column
data['Date'] = pd.to_datetime(['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05'])
data['Day_of_week'] = data['Date'].dt.dayofweek
data['Month'] = data['Date'].dt.month
print(data)
বর্ণনা: ডিফারেন্সিং পদ্ধতি একটি সাধারণ ফিচার ইঞ্জিনিয়ারিং কৌশল যেখানে পূর্ববর্তী সময়ের মান এবং বর্তমান সময়ের মানের মধ্যে পার্থক্য বের করা হয়। এটি টাইম সিরিজের ট্রেন্ড এবং সিজনালিটি সরাতে ব্যবহৃত হয়, যা মডেলটিকে আরও সহজ করে তোলে।
পদ্ধতি:
উদাহরণ: বিক্রয়ের ডেটার প্রথম পার্থক্য বা দ্বিতীয় পার্থক্য বের করা।
কোড উদাহরণ (Python):
# First difference
data['Sales_diff'] = data['Sales'].diff()
print(data)
বর্ণনা: টাইম সিরিজ ডেটার উপর বিভিন্ন স্ট্যাটিস্টিক্যাল ফিচার তৈরি করা যায়, যেমন গড়, সর্বোচ্চ, সর্বনিম্ন, স্ট্যান্ডার্ড ডেভিয়েশন, skewness, kurtosis ইত্যাদি।
পদ্ধতি:
উদাহরণ: সপ্তাহের ভিত্তিতে বিক্রয়ের গড়, সর্বোচ্চ বা সর্বনিম্ন মান বের করা।
কোড উদাহরণ (Python):
data['Sales_mean'] = data['Sales'].rolling(window=7).mean()
data['Sales_max'] = data['Sales'].rolling(window=7).max()
print(data)
Multivariate Time Series ডেটার জন্য ফিচার ইঞ্জিনিয়ারিং গুরুত্বপূর্ণ কারণ এটি ডেটার উপর ভিত্তি করে নতুন বৈশিষ্ট্য তৈরি করে, যা মডেলের পূর্বাভাস এবং বিশ্লেষণ সক্ষমতা বৃদ্ধি করতে সহায়ক। ল্যাগ ফিচার, রোলিং পরিসংখ্যান, সময়ভিত্তিক বৈশিষ্ট্য, ডিফারেন্সিং এবং স্ট্যাটিস্টিক্যাল ফিচার তৈরি করা মডেলিং প্রক্রিয়া উন্নত করতে সহায়ক।
Read more